package com.bjpowerrnode.doubleMaoHao;

import java.util.Arrays;
import java.util.List;


/*
* “::”是Java 8 引入的新特性之一，常常被称作为方法引用，
* 提供了一种不执行方法的方法。使用“::”可以进一步简化一些
* 使用了lambda表达式的代码，让代码更加简洁。
*/
public class Test2 {
    public static void main(String[] args) {
        List<String> strings = Arrays.asList("aaaa", "bbbb", "cccc");
        //使用lambda表达式
        strings.forEach(x-> System.out.println(x));

        //使用双冒号”::“
        strings.forEach(System.out::println);

        //引用类的静态方法，通过类名+::+方法名的方式
        strings.forEach(Test2::print);

        //引用类的实例方法，通过对象+::+方法名的方式
        Test2 test2 = new Test2();
        strings.forEach(test2::print1);
    }

    public static void print(String s){
        System.out.println(s);
    }

    public void print1(String s){
        System.out.println(s);
    }
}
